package com.taobao.api.domain;

import java.util.List;

import com.taobao.api.TaobaoObject;
import com.taobao.api.internal.mapping.ApiField;
import com.taobao.api.internal.mapping.ApiListField;

/**
 * 退货单
 *
 * @author auto create
 * @since 1.0, null
 */
public class ReturnBill extends TaobaoObject {

  private static final long serialVersionUID = 4761844379698782581L;

  /**
   * 单据类型
   */
  @ApiField("bill_type")
  private String            billType;

  /**
   * 物流公司
   */
  @ApiField("company_name")
  private String            companyName;

  /**
   * 退款创建时间
   */
  @ApiField("created")
  private String            created;

  /**
   * 退款商品信息
   */
  @ApiListField("item_list")
  @ApiField("refund_item")
  private List<RefundItem>  itemList;

  /**
   * 最后一次修改时间
   */
  @ApiField("modified")
  private String            modified;

  /**
   * 交易子订单号
   */
  @ApiField("oid")
  private Long              oid;

  /**
   * 退货单操作日志
   */
  @ApiField("operation_log")
  private String            operationLog;

  /**
   * 申请退款原因
   */
  @ApiField("reason")
  private String            reason;

  /**
   * 退款单编号
   */
  @ApiField("refund_id")
  private Long              refundId;

  /**
   * onsale:售中 aftersale：售后
   */
  @ApiField("refund_phase")
  private String            refundPhase;

  /**
   * 退款协议版本
   */
  @ApiField("refund_version")
  private Long              refundVersion;

  /**
   * 物流运单号
   */
  @ApiField("sid")
  private String            sid;

  /**
   * 退款单 状态 wait_buyer_return_goods：卖家同意退货 wait_seller_confirm_goods：卖家已发货等待卖家确认
   * confirm_success：卖家同意退款 confirm_failed: 卖家拒绝退款
   */
  @ApiField("status")
  private String            status;

  /**
   * 退款单的相关标签信息
   */
  @ApiListField("tag_list")
  @ApiField("tag")
  private List<Tag>         tagList;

  /**
   * 交易主订单号
   */
  @ApiField("tid")
  private Long              tid;

  public String getBillType() {
    return this.billType;
  }

  public void setBillType(String billType) {
    this.billType = billType;
  }

  public String getCompanyName() {
    return this.companyName;
  }

  public void setCompanyName(String companyName) {
    this.companyName = companyName;
  }

  public String getCreated() {
    return this.created;
  }

  public void setCreated(String created) {
    this.created = created;
  }

  public List<RefundItem> getItemList() {
    return this.itemList;
  }

  public void setItemList(List<RefundItem> itemList) {
    this.itemList = itemList;
  }

  public String getModified() {
    return this.modified;
  }

  public void setModified(String modified) {
    this.modified = modified;
  }

  public Long getOid() {
    return this.oid;
  }

  public void setOid(Long oid) {
    this.oid = oid;
  }

  public String getOperationLog() {
    return this.operationLog;
  }

  public void setOperationLog(String operationLog) {
    this.operationLog = operationLog;
  }

  public String getReason() {
    return this.reason;
  }

  public void setReason(String reason) {
    this.reason = reason;
  }

  public Long getRefundId() {
    return this.refundId;
  }

  public void setRefundId(Long refundId) {
    this.refundId = refundId;
  }

  public String getRefundPhase() {
    return this.refundPhase;
  }

  public void setRefundPhase(String refundPhase) {
    this.refundPhase = refundPhase;
  }

  public Long getRefundVersion() {
    return this.refundVersion;
  }

  public void setRefundVersion(Long refundVersion) {
    this.refundVersion = refundVersion;
  }

  public String getSid() {
    return this.sid;
  }

  public void setSid(String sid) {
    this.sid = sid;
  }

  public String getStatus() {
    return this.status;
  }

  public void setStatus(String status) {
    this.status = status;
  }

  public List<Tag> getTagList() {
    return this.tagList;
  }

  public void setTagList(List<Tag> tagList) {
    this.tagList = tagList;
  }

  public Long getTid() {
    return this.tid;
  }

  public void setTid(Long tid) {
    this.tid = tid;
  }

}
